This invention relates to digital video image processing, and more particularly to dithering in conversion of image data from a YUV-like format to an RGB format.
In color conversion systems, such as those used to convert from YUV9 to RGB8, the source data format contains more precision than the destination format. An example of this concept is depicted in FIG. 1, which shows an entire color conversion process going from YUV24 to YUV9 to CLUT8 (i.e., RGB8) and then to RGB24 for display. In particular, therein is depicted the mapping from YUV9 to RGB8, wherein large groups of YUV9 colors all become particular RGB8 colors. These 256 RGB8 colors then are converted via the CLUT (Color Look Up Table) into the 256 particular RGB 24 values picked by the designer of the CLUT a priori.
In the conversion from YUV24 to YUV9, an undesirable reproduction artifact can be introduced into the image due to the fact that single U and V values are used, for example, for 4.times.4 groups of 16 Y values. In common practice, these artifacts are eliminated or at least reduced either by use of various interpo-lation techniques on the U and V values within the 4.times.4 groups.
Similarly, in the conversion from YUV9 to RGB8, another undesirable reproduction artifact known as "contouring" can occur. For example, when large areas of the image have only slight variations in color, those areas will be represented by only one of the 256 RGB8 colors, and the reproduced image can have distinct noticeable contours outlining those areas. Contouring is associated with the ability of the human visual system to perceive small changes in image intensity in areas of an image that have low spatial variation in image intensity. If an insufficient number of bits is used to represent intensities in such areas, the human visual system perceives the changes in intensity as happening in steps and not in a continuous manner. It is well known that one way to eliminate these contours is to use dithering of "near neighborhood" RGB8 colors. This is typically done using a fixed dithering matrix at amplitudes less than the step size of the Y intensity quantization being used on the Y values of each 4.times.4 block of pixels in a video frame.
Unfortunately, using a fixed dithering matrix can result in another undesirable artifact of "graininess" in the reproduced image. It is therefore desirable to have a method for eliminating this perceived graininess.